package com.bbs.toutiao.mapper.admin;

import com.bbs.toutiao.entity.ArticleClassifyEntity;
import com.bbs.toutiao.vo.article.ArticleClassRequestVo;
import com.bbs.toutiao.vo.article.ArticlePageRequestVo;
import com.bbs.toutiao.vo.article.ArticleVo;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;
import java.util.Map;

/**
 * 描述: 关于文章的操作
 * 作者： zhangBin
 * 时间： 2023/9/24 17:07
 * 版本： 1.0
 */

@Mapper
public interface ArticleMapper {

    //统计分类总数
    @Select("select count(*) from t_classify")
    long getArticleClassCount();

    //分页查询文章分类
    List<ArticleClassifyEntity> getArticleClassifyPage(Map<String, Integer> map);



    //新增分类
    @Insert("INSERT INTO t_classify (class_name,created_account) VALUES (#{className},#{createdAccount})")
    int insertClassify(ArticleClassRequestVo requestVo);

    //更新分类
    @Update("update t_classify set  class_name= #{className} , created_account = #{createdAccount} where id =#{id} ")
    int updateClassify(ArticleClassRequestVo requestVo);


    long getArticleCount(ArticlePageRequestVo requestVo);

    //分页查询文章
    List<ArticleVo> getArticlesPage(ArticlePageRequestVo requestVo);

    //指定id查询文章内容
    @Select("select article_text from t_articles where id=#{id}")
    String findByIdArticle(int id);


    //修改文章状态
    int updateByIdArticle(List<Map<String,Object>> tList);

    //增加浏览量
    @Update("update t_articles set count = count + 1 where id = #{id}")
    int addCountByArticleId(int id);
}
